Advances in technology have resulted in smaller and more powerful computing devices. For example, there currently exist a variety of portable personal computing devices, including wireless computing devices, such as portable wireless telephones, personal digital assistants (PDAs), and paging devices that are small, lightweight, and easily carried by users. More specifically, portable wireless telephones, such as cellular telephones and Internet Protocol (IP) telephones, can communicate voice and data packets over wireless networks. Further, many such wireless telephones include other types of devices that are incorporated therein. For example, wireless telephones can also include a digital still camera, a digital video camera, a digital recorder, and an audio file player. Also, such wireless telephones can process executable instructions, including software applications, such as a web browser application, that can be used to access the Internet. As such, these wireless telephones can include significant computing capabilities.
Digital signal processors (DSPs), image processors, and other processing devices are frequently used in portable personal computing devices that include digital cameras, or that display image or video data captured by a digital camera. Such processing devices can be utilized to provide video and audio functions, to process received data such as image data, or to perform other functions.
One type of image processing involves improving the signal to noise ratio (SNR) of digital images. Reducing noise such as dark current, photon noise, and cross-talk may result in better pictures. The signal to noise ratio (SNR) may be particularly low for low light photography. One way to reduce noise in an image is to run a low pass filter over an image while using an edge detector to protect edge boundaries. However, even if the edges are protected, the filter affects the textures in the scene, because it may be difficult to discern between texture and noise. Another way to reduce noise is to combine two or more images, but this may lead to ghosting. Yet another way to reduce noise is to combine portions of two or more images in order to minimize ghosting. However, this may be computationally expensive and is less likely to reduce noise around moving objects because fewer macro blocks may be used.